package jp.co.nes.awssupport.common.bean;

import java.math.BigDecimal;
import java.time.ZonedDateTime;
import java.util.List;

/**
 * クレジットです。
 */
public class CreditCouponBean extends BaseBean {

    /** serialVersionUID */
    private static final long serialVersionUID = 1L;

    /** ID */
    private String id;

    /** クレジットID */
    private String creditCouponId;

    /** 有効期限日 */
    private ZonedDateTime expirationDate;

    /** クレジット履歴リスト */
    private List<CreditCouponHistoryBean> creditCouponHistoryList;

    /** クレジット残高(米ドル) */
    private BigDecimal creditCouponBalanceUSDollar;

    /**
     * 集計クレジット残高(米ドル)。<br>
     * 以下の内容で集計したクレジット残高(米ドル)です。<br>
     * クレジット履歴年月が処理対象年月より小さい年月 or<br>
     * クレジット履歴年月が処理対象年月と同じ かつ クレジット履歴種別がクレジット登録履歴
     */
    private BigDecimal creditCouponBalanceUSDollarCalc;

    /**
     * デフォルトコンストラクタです。
     */
    public CreditCouponBean() {
    }

    /**
     * IDを返却します。
     *
     * @return ID
     */
    public String getId() {
        return id;
    }

    /**
     * IDを設定します。
     *
     * @param id ID
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * クレジットIDを返却します。
     *
     * @return クレジットID
     */
    public String getCreditCouponId() {
        return creditCouponId;
    }

    /**
     * クレジットIDを設定します。
     *
     * @param creditCouponId クレジットID
     */
    public void setCreditCouponId(String creditCouponId) {
        this.creditCouponId = creditCouponId;
    }

    /**
     * 有効期限日を返却します。
     *
     * @return 有効期限日
     */
    public ZonedDateTime getExpirationDate() {
        return expirationDate;
    }

    /**
     * 有効期限日を設定します。
     *
     * @param expirationDate 有効期限日
     */
    public void setExpirationDate(ZonedDateTime expirationDate) {
        this.expirationDate = expirationDate;
    }

    /**
     * クレジット残高(米ドル)を返却します。
     *
     * @return クレジット残高(米ドル)
     */
    public BigDecimal getCreditCouponBalanceUSDollar() {
        return creditCouponBalanceUSDollar;
    }

    /**
     * クレジット残高(米ドル)を設定します。
     *
     * @param creditCouponBalanceUSDollar クレジット残高(米ドル)
     */
    public void setCreditCouponBalanceUSDollar(BigDecimal creditCouponBalanceUSDollar) {
        this.creditCouponBalanceUSDollar = creditCouponBalanceUSDollar;
    }

    /**
     * 集計クレジット残高(米ドル)を返却します。
     *
     * @return 集計クレジット残高(米ドル)
     */
    public BigDecimal getCreditCouponBalanceUSDollarCalc() {
        return creditCouponBalanceUSDollarCalc;
    }

    /**
     * 集計クレジット残高(米ドル)を設定します。
     *
     * @param creditCouponBalanceUSDollarCalc 集計クレジット残高(米ドル)
     */
    public void setCreditCouponBalanceUSDollarCalc(BigDecimal creditCouponBalanceUSDollarCalc) {
        this.creditCouponBalanceUSDollarCalc = creditCouponBalanceUSDollarCalc;
    }

    /**
     * クレジット履歴リストを返却します。
     *
     * @return クレジット履歴リスト
     */
    public List<CreditCouponHistoryBean> getCreditCouponHistoryList() {
        return creditCouponHistoryList;
    }

    /**
     * クレジット履歴リストを設定します。
     *
     * @param creditCouponHistoryList クレジット履歴リスト
     */
    public void setCreditCouponHistoryList(List<CreditCouponHistoryBean> creditCouponHistoryList) {
        this.creditCouponHistoryList = creditCouponHistoryList;
    }
}
